package sdk

//import "proto/robot"

/**
机器人的属性
*/
type RobotInfo struct {
	//字段	字段名                	类型                     	必填
	ID           int64  `json:"-" `           //忽略 		mock用字段
	UserId       int64  `json:"userId"`       //用户ID		int64,string	用户唯一ID
	UserName     string `json:"userName"`     //用户名		string	用户登陆名
	Nickname     string `json:"nickName"`     //用户昵称	string
	Level        int32    `json:"level"`        //用户等级	int
	Avatar       string `json:"avatar"`       //用户头像	string	用户头像URL地址
	Gender       int32    `json:"gender"`       //性别		int
	Role         int32    `json:"role"`         //用户角色	int	1:正常用户 2:机器人
	Balance      int64  `json:"balance"`      //用户余额	int64,string	前端需要除100
	AgentId      int32   `json:"agent_id"`    //业主id
	Status       int32    `json:"status"`       //用户状态	int	用户状态 1：正常 2:锁定
	OnlinePosition string    `json:"onlinePosition"` //在线状态	int	在线状态 1:在线 2:离线
	GameStatus   int64    `json:"gameStatus"`   //游戏状态	int	游戏状态  1:空闲 2:游戏中
	GameId       string `json:"gameId"`       //游戏中游戏ID	string	如果在游戏中返回 大厅：000000
	GameInfo     string `json:"gameInfo"`     //游戏信息	string	当前游戏中游戏信息
	Ip           string `json:"ip"`           //登陆ip		string	当前登陆的IP
	City         string `json:"city"`         //登陆城市	string	当前登陆的城市

	Birthday string 		`json:"birthday"`		    //生日
	Email   string  			`json:"email"`				//邮箱
	Mobile  string  			`json:"mobile"`				//手机
	Qq      string  				`json:"qq"`				    //qq
	Wechat  string 			`json:"wechat"`				//微信
	RealName string  		`json:"real_name"`			//用户真实姓名
	IsAnonyous int32 		`json:"is_anonyous"`		//是否游客
	IsGrayUser int32  		`json:"is_gray_user"`		 //灰度用户标记
}
//
//func (self*RobotInfo) Proto() *robot.RobotInfo{
//	return &robot.RobotInfo{
//		UserId:               self.UserId,
//		UserName:             self.UserName,
//		Nickname:             self.Nickname,
//		Level:                self.Level,
//		Avatar:               self.Avatar,
//		Gender:               self.Gender,
//		Role:                 self.Role,
//		Balance:              self.Balance,
//		AgentId:              self.AgentId,
//		Status:               self.Status,
//		OnlinePosition:       self.OnlinePosition,
//		GameStatus:           self.GameStatus,
//		GameId:              self.GameId,
//		GameInfo:            self.GameInfo,
//		Ip:                  self.Ip,
//		City:                self.City,
//		Birthday:            self.Birthday,
//		Email:               self.Email,
//		Qq:                  self.Qq,
//		Wechat:              self.Wechat,
//		RealName:            self.RealName,
//		IsAnonyous:          self.IsAnonyous,
//		IsGrayUser:          self.IsGrayUser,
//	}
//}

/**
镜像机器人的属性
字段	字段名	类型	必填	备注
mirrorUserMap	机器人用户与镜象用户	map<int64,int64>	是	key为机器人ID，value为镜象用户ID
list	机器人列表信息	 []UserInfo
是	用户对象信息

*/
type MirrorRobot struct {
	MirrorUserMap map[int64]int64 `json:"mirrorUserMap"`
	List          []*RobotInfo    `json:"list"`
}

/**
字段	字段名	类型	必填	备注
command	指令策略	int	是	0:不干预 1:正向干预 2:反向干预
list	机器人列表信息	 []UserInfo	是	用户对象信息

*/
type RobotCommand struct {
	Command int          `json:"command"` //command	指令策略	int	是	0:不干预 1:正向干预 2:反向干预
	List    []*RobotInfo `json:"list"`    //list	机器人列表信息	 []UserInfo	是	用户对象信息
}

type RobotGetAIRobotsCommand struct{
	GameId			string `json:"gameId"`		//游戏Id
	RoomId			string `json:"roomId"`		//房间Id
	Num				int64  `json:"num"`	 		//最大获取数量为20个
}

type AIRobotsResp struct {
	Ratio int32       `json:"ratio"` //干预机率R的范围[0,100]，当R小于0时取0；当R大于100时取100
	List  []UserInfo  `json:"list"`  //robot user info
}

type  RobotReleaseRobotsCommand struct{
	UserIds   		[]int64 `json:"userIds"`   //机器人id
}


type RoomRobotSearchCommand struct {
	GameId string   `json:"gameId"`  //
}


type BloodCurrentLevel struct {
	CurrentLevel int64 `json:"currentLevel"`
}